package com.javabase.study.ArrayStudy;

import java.util.Arrays;

/**
 * TODO
 * 内容：测试学习冒泡排序
 *     1. 比较相邻的元素。如果第一个比第二个大，就交换他们。
 *     2. 对每一对相邻元素做同样的工作，从开始第一对到结尾的最后一对。最后的元素应该会是最大的数
 *     3. 针对所以后的元素重复以上步骤，除了最后一个
 *     4. 持续每次对越来越少的元素重复上面的步骤，知道没有任何一对数字需要比较
 * 作者:jxx
 * 创建时间：2021/6/23
 */
public class TestBubbleSort {
    public static void main(String[] args){

        TestBubbleSort testBubbleSort = new TestBubbleSort();
        int[] a = {1,9,3,8,5,2,7};

        testBubbleSort.bubbleSort(a);
        System.out.println(Arrays.toString(a));
    }
    public static void bubbleSort(int[] src){

        int tmp;
        int srcLength = src.length;

        for(int i = 0;i < srcLength - 1;i++){
            for(int j = 0;j < srcLength - 1 - i;j++ ){
                if(src[j] > src[j + 1]){
                    tmp = src[j];
                    src[j] = src[j + 1];
                    src[j + 1] = tmp;

                }

                System.out.println(Arrays.toString(src));
            }
            System.out.println("########");

        }
    }
}
